CMS Ubuntu Linux

How to Install FossBilling with Nginx on Ubuntu Linux

Richard
Written by
Richard
May 1, 2023 Updated Apr 18, 2026 3 min read

FOSSBilling is a free, open-source tool that helps you manage client billing and automation. It handles invoices, payments, and customer communication in one place. Why use it? It simplifies your business operations by keeping everything in your own controlled server environment. What happens when done? You will have a fully functional billing dashboard ready to accept payments.

Install Nginx on Ubuntu Linux

FOSSBilling needs a web server to display its pages. We will use Nginx. It is fast and reliable.

  1. Open your terminal and update your software list: sudo apt update
  2. Install Nginx: sudo apt install nginx

You can manage the server using these commands:

  • Stop: sudo systemctl stop nginx
  • Start: sudo systemctl start nginx
  • Enable at startup: sudo systemctl enable nginx

Check if it works by visiting your server IP address in a web browser.

Install Nginx web server on Ubuntu Linux
You should see the Nginx welcome page. More help is available here: How to install Nginx on Ubuntu

Install MariaDB on Ubuntu Linux

You need a database to store your billing information. We will use the official MariaDB repository for the latest version on Ubuntu 24.04 LTS.

  1. Install the repository helper: sudo apt install software-properties-common curl
  2. Add the MariaDB repo: curl -LsS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
  3. Install the server: sudo apt install mariadb-server

Start and enable the service: sudo systemctl enable --now mariadb. For more help, visit How to install MariaDB on Ubuntu Linux.

Create FOSSBilling database

First, secure your database installation by removing test data and anonymous users:

sudo mysql_secure_installation

Follow the on-screen prompts. Now, create your database:

  1. Log in: sudo mariadb
  2. Run these commands:
    CREATE DATABASE fossdb;
    CREATE USER fossdbuser@localhost IDENTIFIED BY 'your_password';
    GRANT ALL ON fossdb.* TO fossdbuser@localhost WITH GRANT OPTION;
    FLUSH PRIVILEGES;
    exit

Install PHP-FPM on Ubuntu Linux

FOSSBilling runs on PHP. Install the latest version available in your repositories along with the required modules:

sudo apt install php-fpm php-mysql php-intl php-curl php-cli php-zip php-common php-mbstring php-xml

Enable it to start automatically: sudo systemctl enable --now php8.3-fpm (Note: check your installed version with php -v).

General: Configure Nginx

First, create the web directory and set the correct permissions so your server can manage the files:

sudo mkdir -p /var/www/fossbilling
sudo chown -R www-data:www-data /var/www/fossbilling

Now, create the configuration file:

sudo nano /etc/nginx/sites-available/fossbilling.conf

Paste your server settings into this file, save it, and enable it:

sudo ln -s /etc/nginx/sites-available/fossbilling.conf /etc/nginx/sites-enabled/
sudo systemctl restart nginx

Download and Setup

Download the FOSSBilling files to your folder:

cd /tmp
curl https://fossbilling.org/downloads/stable -L --output FOSSBilling.zip
sudo unzip FOSSBilling.zip -d /var/www/fossbilling

Visit your domain in a browser.

FOSSBilling setup wizard on Ubuntu Linux
Follow the setup wizard to connect your database (
Entering database information in FOSSBilling setup
) and create an admin account (
Creating admin account in FOSSBilling on Ubuntu
). Finally, remove the installation folder for security:

sudo rm -rf /var/www/fossbilling/install

Set up the background task (cron job):

sudo crontab -u www-data -e

Add this line: */5 * * * * php /var/www/fossbilling/cron.php

Completing FOSSBilling setup on Ubuntu Linux
You are now ready to log in to your dashboard.
FOSSBilling dashboard interface on Ubuntu Linux
For SSL setup, see How to setup Let’s Encrypt with Nginx web server.

Was this guide helpful?

Richard

About the Author

Richard

Tech Writer, IT Professional

Richard, a writer for Geek Rewind, is a tech enthusiast who loves breaking down complex IT topics into simple, easy-to-understand ideas. With years of hands-on experience in system administration and enterprise IT operations, he’s developed a knack for offering practical tips and solutions. Richard aims to make technology more accessible and actionable. He's deeply committed to the Geek Rewind community, always ready to answer questions and engage in discussions.

Leave a Reply

Your email address will not be published. Required fields are marked *

Exit mobile version